package com.whminwei.edu.api.school.client;

import com.whminwei.common.feign.decoder.FullHttpRspnConfig;
import com.whminwei.common.http.rspn.FullHttpResponse;
import com.whminwei.edu.api.school.dto.fspn.DormFspn;
import com.whminwei.edu.api.school.dto.fspn.OfcTchFspn;
import com.whminwei.edu.api.school.dto.fspn.TchBuildingFspn;
import com.whminwei.edu.api.school.dto.fspn.TchBuildingListFspn;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * 建筑对外接口（包含宿舍和教学楼）
 *
 * @author wangy
 * @since 2024/4/30
 */
@FeignClient(name = "xzzg-pt-school-service", contextId = "building-info", configuration = FullHttpRspnConfig.class)
public interface BuildingClient {

    /**
     * 获取教室位置
     *
     * @author wangy
     * @since 11:11 2024/4/12
     **/
    @PostMapping("/building/getClasseList")
    FullHttpResponse<TchBuildingFspn> getClasseList();

    /**
     * 获取宿舍位置
     *
     * @return com.whminwei.common.http.rspn.FullHttpResponse<com.whminwei.edu.api.school.dto.fspn.DormFspn>
     * @author wangy
     * @since 16:53 2024/5/6
     **/
    @PostMapping("/building/getDormList")
    FullHttpResponse<DormFspn> getDormList();

    /**
     * 获取办公室位置以及办公室下的老师
     *
     * @return FullHttpResponse<OfcTchFspn>
     * @author zhangzf
     * @since 2024/7/4
     */
    @PostMapping("/building/getOfcTchList")
    FullHttpResponse<OfcTchFspn> getOfcTchList();


    /**
     * 获取教学楼列表
     *
     * @return FullHttpResponse<TchBuildingListFspn>
     * @author zhangzf
     * @since 2024/7/18
     */
    @PostMapping("/building/getBuildingList")
    FullHttpResponse<TchBuildingListFspn> getBuildingList();
}
